Standard Function Library - Details - Array and String Functions
XstBackArrayToBinArray ( @backArray$[], @binArray$[] )
XstBackStringToBinString$ ( @rawString$ )
XstBinArrayToBackArray ( @binArray$[], @backArray$[] )
XstBinStringToBackString$ ( @rawString$ )
XstBinStringToBackStringNL$ ( @rawString$ )
XstCopyArray ( @ANY[], @ANY[] )
XstDeleteLines ( @array$[], start, count )
XstFindArray ( mode, @text$[], @find$, line, pos, reps, skip, matches[] )
XstMultiStringToStringArray ( @s$, @s$[] )
XstNextCField$ ( sourceAddr, @index, @done )
XstNextCLine$ ( sourceAddr, @index, @done )
XstNextField$ ( @source$, @index, @done )
XstNextLine$ ( @source$, @index, @done )
XstPathString$ ( path$ )
XstReplaceArray ( mode, @text$[], @find$, @replace$, line, pos, reps, skip )
XstReplaceLines ( @dest$[], @source$[], firstD, countD, firstS, countS )
XstSetNewline ( @text$, newline )
XstStringArraySectionToString ( @text$[], @copy$, x1, y1, x2, y2, term )
XstStringArraySectionToStringArray ( @text$[], @copy$[], x1, y1, x2, y2 )
XstStringArrayToString ( @s$[], @s$ )
XstStringArrayToStringCRLF ( @s$[], @s$ )
XstStringToNumber ( @s$, startOff, afterOff, rtype, value# )
XstStringToStringArray ( @s$, @s$[] )

XstBackArrayToBinArray()  error = XstBackArrayToBinArray ( @back$[], @bin$[] )

Make a duplicate of back$[] in bin$[] with all backslash characters converted into their binary equivalents. For example, every occurrence of two character sequence " \t " in back$[] into a single 0x09 "tab" character in bin$[].

XstBackStringToBinString$()  error = XstBackStringToBinString ( @back$ , @bin$ )

Make a duplicate of back$ in bin$ with all backslash characters converted to their binary equivalents. For example, convert every occurrence of two character sequence " \t " in back$ into a single 0x09 "tab" character in bin$.

XstBinArrayToBackArray()  error = XstBinArrayToBackArray ( @bin$[], @back$[] )

Make a duplicate of bin$[] in back$[] with all 0x00-0x1F and 0x80-0xFF characters converted to backslash character equivalents. For example, convert every one byte 0x09 "tab" character in bin$[] to the two character backslash character sequence " \t " in back$[].

XstBinStringToBackString$()  error = XstBinStringToBackString ( @bin$ , @back$ )

Make a duplicate of bin$ in back$ with every 0x00-0x1F and 0x80-0xFF character converted to backslash character equivalent. For example, convert every one byte 0x09 "tab" character in bin$ to the two character backslash character sequence " \t " in back$.

XstBinStringToBackStringNL$()  error = XstBinStringToBackStringNL ( @bin$ , @back$ )

Same as XstBinStringToBackString() except 0x0A newline characters are not converted into their backslash character equivalent.

XstCopyArray()  error = XstCopyArray ( @array[] , @copy[] )

Return a copy of simple numeric type or string array[] in copy[]. XstCopyArray() cannot copy composite arrays, which includes SCOMPLEX and DCOMPLEX arrays, as well as all user-defined and composite type arrays. Make sure copy[] is the same type as array[].

XstDeleteLines()  error = XstDeleteLines ( @text$[], first, count )

Delete count lines from string array text$[] starting at line first.

XstFindArray()  XstFindArray ( mode, @text$[], @find$, @line, @pos, @match )

XstFindArray() looks for a find$ string within text array text$[] starting at line, pos. text$[0] is line 0 and the first character on each line is pos 0.

If an XstFindArray() finds an occurrence of find$ in text$[] given the instructions in the mode argument, match is assigned a non-zero value and line, pos are assigned the line and character position of the first character of the string in text$[] that matched find$.

XstFindArray() does not alter text$[] or find$.

mode =0 tells XstFindArray() to do a forward, case-sensitive find. To control the find, OR together mode constants from xst.DEC :

$$FindForward
$$FindReverse
$$FindDirection
$$FindCaseSensitive
$$FindCaseInsensitive
$$FindCaseSensitivity

XstMultiStringToStringArray()  XstMultiStringToStringArray ( @string$, @array$[] )

XstMultiStringToStringArray() converts a string$ into a string array$[] by breaking the string into separate strings at each occurrence of an \r character. Note that the line separator character is not the \n aka newline character, and that the lines in array$[] may therefore contain \n characters. \r characters are discarded.

XstNextCField$()  string$ = XstNextCField$ ( address, @index, @done )

Return the next text element from a C string.

string$ = next text element from C string
address = memory address of C string
index = character position in C string ( 1st byte = 1 )
done = end of C string reached

XstNextCField$() returns the next text element in the string at address, starting at character position index. index is advanced to the separator that terminates the text element. Text elements are separated by bounding characters, which are characters with a value <= 0x20 (space, tab, newline, return, and all control characters) and characters with a value >= 0x7F (all special characters).

All bounding characters are skipped. Then valid text characters are collected in string$ until a bounding character is found or the end of the string is reached, which is the first null character in the string.

index and done are normally passed by reference because useful information is returned in these variables. index is returned with the position of the character after the text element, and done is returned with a non-zero value if index entered with a value greater than the length of the string at address.

If index and done are passed by reference, XstNextCField$() can be called repeatedly to read successive text elements from the string at address.

If index <= 0 is passed to XstNextCField(), it is set to 1 .

XstNextCLine$()  string$ = XstNextCLine$ ( address, @index, @done )

Return the next newline terminated string from a C string.

address = memory address of C string
index = character position in C string ( 1st byte = 1 )
done = end of C string reached

XstNextCLine$() returns the string in from the C string at address that starts at index and ends with the next newline character or null character (end of string), whichever comes first.

string$ is returned without the terminating newline or null character. index and done are normally passed by reference because useful information is returned in these variables. index is moved past the newline or end of string. done is returned with a non-zero value if the character at index is a null character.

If index and done are passed by reference, XstNextCLine$() can be called repeatedly to read successive lines from the C string at address.

If index <= 0 is passed to XstNextCLine(), it is set to 1 .

XstNextField$()  string$ = XstNextField$ ( @source$ , @index , @done )

Return the next text element from a string.

string$ = next text element from string
source$ = string to extract text element from
index = character position in source$
done = end of string reached

XstNextField$() returns the next text element from source$, starting at character position index. index is advanced to the separator that terminates the text element. Text elements are separated by bounding characters, which are characters with a value <= 0x20 (space, tab, newline, return, and all control characters) and characters with a value >= 0x7F (all special characters).

All bounding characters are skipped. Then valid text characters are collected in string$ until a bounding character is found or the end of the string is reached.

index and done are normally passed by reference because useful information is returned in these variables. index is returned with the position of the character after the text element, and done is returned with a non-zero value if index entered with a value greater than the length of source$.

If index and done are passed by reference, XstNextField$() can be called repeatedly to read successive text elements from source$.

If index <= 0 is passed to XstNextField(), it is set to 1 .

source$ is not modified by XstNextField$() , so it can be passed by reference for optimal speed.

XstNextLine$()  string$ = XstNextLine$ ( @source$, @index, @done )

Return the next newline terminated string from a string.

source$ = string to extract the next line from
index = character position in C string ( 1st byte = 1 )
done = end of C string reached

XstNextLine$() returns the next string$ from source$ that starts at index and ends with the next newline character or end of string, whichever comes first.

string$ is returned without a terminating character. index and done are normally passed by reference because useful information is returned in these variables. index is moved past the newline or end of string. done is returned with a non-zero value if index is greater than the length of source$.

If index and done are passed by reference, XstNextLine$() can be called repeatedly to read successive lines from source$.

If index <= 0 is passed to XstNextLine$() , it is set to 1 .

source$ is not modified by XstNextLine$() , so it can be passed by reference for optimal speed.

XstPathString$  path$ = XstPathString$ ( path$ )
XstReplaceArray()  XstReplaceArray ( mode, @text$[], @find$, @replace$, @line, @pos, @match )

XstReplaceArray() looks for a find$ string within text array text$[] starting at line, pos. text$[0] is line 0 and the first character on each line is pos 0.

If an XstReplaceArray() finds an occurrence of find$ in text$[] given the instructions in the mode argument, match is assigned a non-zero value and line, pos are assigned the line and character position of the first character of the string in text$[] that matched find$, and the matched string in text$[] is replaced by replace$.

XstReplaceArray() does not alter text$[], find$, or replace$.

mode =0 tells XstReplaceArray() to find forward, case-sensitive. To control the find, OR together mode constants from xst.DEC :

$$FindForward
$$FindReverse
$$FindDirection
$$FindCaseSensitive
$$FindCaseInsensitive
$$FindCaseSensitivity

XstReplaceLines()  XstReplaceLines ( @d$[], @s$[], firstD, countD, firstS, countS )
XstSetNewline()  XstSetNewline ( @ text$ , newline )
XstStringArraySectionToString()  XstStringArraySectionToString (@text$[], @copy$, x1, y1, x2, y2, term )
XstStringArraySectionToStringArray()  XstStringArraySectionToStringArray (@text$[], @copy$[], x1, y1, x2, y2 )
XstStringArrayToString()  XstStringArrayToString (@text$[], @text$ )
XstStringArrayToStringCRLF()  XstStringArrayToStringCRLF (@text$[], @text$ )